Key Responsibilities
- Perform software development, debugging, modification, enhancement, and documentation.
- Design, test, and develop computer software in order to meet program requirements.
- Apply expertise in computing systems to define requirements and develop software designs recognizing limitations of target hardware platforms.
- Author technical reports and presentations for projects of moderate-to-high complexity.
- Compile report input from other researchers and prepare final report deliverables.
- Lead and/or contribute to white papers and proposals.
- Create and analyze network protocols.
- Provide technical leadership to development teams.
- Design, architect, and provide senior level support of high-security, sensitive, or classified systems.
- Serve as a resource and Subject Matter Expert (SME) for software engineering tools and technologies.
- Manage overall codebase, review code pull-requests, handle merging, perform code branch management, and provide feedback to team members to ensure sponsor requirements and code quality thresholds are being met.
Additional Responsibilities
- Responsible for leading the development of complex software systems in multiple domains.
- Provides technical leadership to development teams -Organize developers to work on items in sprints, manage meetings, and run daily standups.
- Design, develop, and support creation, deployment, and maintenance of both on-premises and cloud-based solutions for various software stacks.
- Design, architect, and provide senior-level support of highly security-sensitive or classified systems.
- Serve as a resource and subject matter expert for software engineering tools and technologies.
- Serve as a resource and subject matter expert for DevOps solutions.
- Manage overall codebase, review code pull requests, handle merging, perform code branch management, and provide feedback to team members to ensure sponsor requirements and code quality thresholds are being met.
- Create level-of-effort (LOE) estimates for assigned tasks and communicate schedule updates to stakeholders.
- Create and maintain documentation for code and system components.
- Run live demonstrations to showcase implemented work to sponsors, answer their questions, and solicit and document feedback.
- Primary author of technical reports/presentations for projects of moderate/high complexity.
- Compile report input from other researchers and prepare final report deliverable.
- Lead and/or contribute to white papers and proposals.
Required Minimum Qualifications
- Extensive Experience with C++.
- Experience with Linux or Real-time Linux
- Experience in software engineering and development.
- Existing secret clearance, or the ability to obtain an interim clearance within 180 days and full clearance thereafter.
- Knowledge of computer architectures including multi-core environments.
- Familiarity with software applications requiring multi-threaded programming implementation.
- Complex programs that involved hardware, software, communications and networking.
- Knowledgeable in version control software such as GIT.
- Knowledgeable in JIRA, Bitbucket and Confluence.
- Experience in the technical management of software engineers.
- Good verbal and written communication skills.
- Self-starter and ability to work in a team environment.
Preferred Qualifications
- Active Secret Clearance
- Experience with Object-Oriented Design Knowledge including UML.
Travel Requirements
<10% travel
Education and Length of Experience
- 14 years of related experience with a Bachelor’s degree in Computer Science, Electrical Engineering, Physics, Mathematics, or related field.
- 12 years of related experience with a Masters’ degree in Computer Science, Electrical Engineering, Physics, Mathematics, or related field.
- 9 years of related experience with a Ph.D. in Computer Science, Electrical Engineering, Physics, Mathematics, or related field.